Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
УІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт
Предмет:
Архітектура

Частина тексту файла

Мета: зрозуміти принципи виконання архітектури системи команд на симуляторі машини Ноймана, зрозуміти і дослідити виконання інструкції. Завдання: розширити архітектуру систему команд симулятора машини Ноймана, скласти програму на асемблері з розшириним набором команд, перетворити її у машинні коди, запустити симулятор, увести до нього коди машинних, проаналізувати і пояснити отримані результати, довести коректність роботи розширеного набору команд, скласти звіт з виконання лабораторних досліджень та захистити його. Теоретичні відомості  Рис. 1. Схема роботи асемблера Загальна схема роботи асемблера (рис. 1) складається з 2 проходів. На першому проході асемблер перевіряє коректність синтаксису команд. На другому виконується генерування відповідних машинних команд, тобто числового представлення асемблерної команди. Функція readAndParse виконує зчитування рядку асемблерної програми і декодування на відповідні поля: мітка, код операції, операнди. Отримана таким чином і декодована інструкція перевіряється на коректність: існування команди, відповідна кількість аргументів, існування міток та т. п. Функція testRegArg перевіряє коректність використання назви регістра. Функція testAddrArg перевіряє коректність використання адреси. Функція labelArray перетворює відповідну мітку у адресу. Program.as та program.mc – відповідно вхідний та вихідний файли.  Рис. 2 Функціональна схема симулятора. Симулятор починає свою роботу ініціалізацією пам’яті та регістрів 0 значеннями (рис. 2.). Наступним кроком відбувається заванаження програми у машинних кодах в пам’ять. Далі відбувається покрокове виконання інструкцій та вивід стану на зовнішній пристрій (чи на екран консолі чи у файл). У stateStruct зберігається стан машини – значення регістрів, пам’яті та програмний лічільник. stateStruct Функція Run виконує обробку інструкцій з пам’яті, функція printState виводить поточний стан машини, а функція convertNum виконує перетворення числа у доповняльний код. Виконання завдання: 17 Десятковий логарифм   У програмах asol та ssol немає функції, яка б знаходила десятковий логарифм з числа. Тому необхідно додати її, а саме розширити набір інструкцій в даній програмі. Розширення інструкцій у програмі asol:     Розширення інструкцій у програмі ssol:    Код асемблерної програми:  Рис.3 Код програми Процес переведення асемблерної програми у машинні інструкції  Рис.4 Процес переведення асемблерної програми у машинні інструкції Результат виконання програми:  Рис.5 Машинні інструкції, що виконують програму Лістинг програми: @@@ state: pc 0 memory: mem[ 0 ] 8454151 mem[ 1 ] 8519688 mem[ 2 ] 8585225 mem[ 3 ] 30015489 mem[ 4 ] 17498113 mem[ 5 ] 16842749 mem[ 6 ] 25165824 mem[ 7 ] 100 mem[ 8 ] 100 mem[ 9 ] 2 mem[ 10 ] 3 registers: reg[ 0 ] 0 reg[ 1 ] 0 reg[ 2 ] 0 reg[ 3 ] 0 reg[ 4 ] 0 reg[ 5 ] 0 reg[ 6 ] 0 reg[ 7 ] 0 end state @@@ state: pc 1 memory: mem[ 0 ] 8454151 mem[ 1 ] 8519688 mem[ 2 ] 8585225 mem[ 3 ] 30015489 mem[ 4 ] 17498113 mem[ 5 ] 16842749 mem[ 6 ] 25165824 mem[ 7 ] 100 mem[ 8 ] 100 mem[ 9 ] 2 mem[ 10 ] 3 registers: reg[ 0 ] 0 reg[ 1 ] 100 reg[ 2 ] 0 reg[ 3 ] 0 reg[ 4 ] 0 reg[ 5 ] 0 reg[ 6 ] 0 reg[ 7 ] 0 end state @@@ state: pc 2 memory: mem[ 0 ] 8454151 mem[ 1 ] 8519688 mem[ 2 ] 8585225 mem[ 3 ] 30015489 mem[ 4 ] 17498113 mem[ 5 ] 16842749 mem[ 6 ] 25165824 mem[ 7 ] 100 mem[ 8 ] 100 mem[ 9 ] 2 mem[ 10 ] 3 registers: reg[ 0 ] 0 reg[ 1 ] 100 reg[ 2 ] 100 reg[ 3 ] 0 reg[ 4 ] 0 reg[ 5 ] 0 reg[ 6 ] 0 reg[ 7 ] 0 end state @@@ state: pc 3 memory: mem[ 0 ] 8454151 mem[ 1 ] 8519688 mem[ 2 ] 8585225 mem[ 3 ] 30015489 mem[ 4 ] 17498113 mem[ 5 ] 16842749 mem[ 6 ] 25165824 mem[ 7 ] 100 mem[ 8 ] 100 mem[ 9 ] 2 mem[ 10 ] 3 registers: reg[ 0 ] 0 reg[ 1 ] 100 reg[ 2 ] 100 reg[ 3 ] 2 reg[ 4 ] 0 reg[ 5 ] 0 reg[ 6 ] 0 reg[ 7 ] 0 end state @@@ state: pc 4 memory: ...
Антиботан аватар за замовчуванням

14.03.2016 12:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини